/*--------------------------------*- C++ -*----------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  dev
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      kinematicCloudProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solution
{
    active          true;
    transient       true;
    coupled         true;
    cellValueSourceCorrection off;

    sourceTerms
    {
        schemes
        {
            U               semiImplicit 1;
        }
    }

    integrationSchemes
    {
        U               Euler;
    }

    interpolationSchemes
    {
        rho             cell;
        U               cellPoint;
        mu              cell;
    }
}

constantProperties
{
    rho0            1000;
}

subModels
{
    particleForces
    {
        sphereDrag;
//        gravity;
    }

    injectionModels
    {
        model1
        {
            type             patchInjection;
            patchName        <name>;
            parcelBasisType  mass; // fixed;

            SOI              0;    // Start time of injection
            duration         0.1;

            U0               (1 0 0);
            massTotal        1e-3;
            parcelsPerSecond 1000;
            flowRateProfile  constant 1;

//          nParticle        100; // Required for fixed parcelBasisType
            sizeDistribution
            {
                type         fixedValue;
                fixedValueDistribution
                {
                    value 1e-3;
                }
            }
        }
    }

    dispersionModel stochasticDispersionRAS;

    patchInteractionModel localInteraction;

    localInteractionCoeffs
    {
        patches
        (
            outlet
            {
                type escape;
            }
            ".*"
            {
                type rebound;  // For Un = normal speed; Ut = tangential speed
                e    1;        // e = (Un_reflected / Un_incident)
                mu   0;        // mu = [1 - (Ut_reflected / Ut_incident)]
            }
        );
    }

    stochasticCollisionModel none;

    surfaceFilmModel none;

    collisionModel none;
}

cloudFunctions
{}

// ************************************************************************* //
